home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
doc.exe
/
PRINT.DOC
< prev
next >
Wrap
Text File
|
1992-02-02
|
4KB
|
121 lines
─────────────────────────────────────────────────────────────────────────────
Dokumentation zur Datei: PRINT.INC
─────────────────────────────────────────────────────────────────────────────
PRINT.INC - Routinen zur Kommunikation mit dem Druckerspooler PRINT
(für den Assembler A86)
(c) Bernd Schemmer 1990 - 1992
Letzter Update: 02.02.1992
■ Routinen:
-----------
PrintLoaded? - Stellt fest, ob PRINT geladen ist
PrintFile - Übergibt eine Datei an PRINT
DeletePrintQueueEntry - Löscht einen Eintrag aus der Warteschlange
von PRINT
DeletePrintQueueEntrys
- Löscht alle Einträge aus der Warteschlange
von PRINT
GetPrintQUeueEntrys - Ermittelt die Einträge aus der Warteschlange
von PRINT
Die Routinen benötigen eine DOS-Version ab 3.00 (muß von der
aufrufenden Routine überprüft werden!) und verwenden AX als
Arbeitsregister.
■ Fehlernummern von PRINT
PRINT_NotLoaded EQU 00h
PRINT_InvalidFunction EQU 01h
PRINT_FileNotFound EQU 02h
PRINT_PathNotFound EQU 03h
PRINT_NoFreeHandle EQU 04h
PRINT_AccesDenied EQU 05h
PRINT_NoFreeEntry EQU 08h
PRINT_Busy EQU 09h
PRINT_NameToLong EQU 0Ch
PRINT_InvalidDrive EQU 0Fh
----------------------------
PrintLoaded?
Funktion: Feststellen, ob PRINT geladen ist
Ausgabe: CF = 1 ->> PRINT nicht geladen
CF = 0 ->> PRINT geladen
----------------------------
PrintFile
Funktion: Übergabe einer Datei an PRINT zum Ausdrucken
Eingabe: DS:SI -> Dateiname (incl. Pfad)
Ausgabe: CF = 0 ->> okay
Datei in die Warteschlange eingereiht
CF = 1 ->> Fehler
AL = Fehlernummer
(AL = 0 ->> PRINT nicht geladen)
----------------------------
DeletePrintQueueEntry
Funktion: Löschen eines Eintrages in der Warteschlange von
PRINT
Eingabe: DS:SI -> Name der Datei
Ausgabe: CF = 0 ->> okay
CF = 1 ->> Fehler
AL = Fehlernummer
(AL = 0 ->> PRINT nicht geladen)
----------------------------
DeletePrintQueueEntrys
Funktion: Löschen aller Einträge in der Warteschlange von
PRINT
Ausgabe: CF = 0 ->> okay
CF = 1 ->> Fehler
AL = Fehlernummer
(AL = 0 ->> PRINT nicht geladen)
----------------------------
GetPrintQueueEntrys
Funktion: Ermittelt die Dateien in der Warteschlange von PRINT
Eingabe: ES:DI ->> Array für die Dateinamen mit jeweils 65 Byte
pro Eintrag für einen Dateinamen als String
(->> 1 Längenbyte + 64 Byte für den Namen)
CX = Anzahl max. möglicher Einträge im Array
Ausgabe: CF = 0 ->> okay
Puffer gefüllt
CX = Anzahl Einträge in der Queue
CF = 1 ->> Fehler
AL = Fehlernummer
(AL = 0 ->> PRINT nicht geladen)
Die Einträge im Array sind gelöscht und CX
ist unverändert
Bes.: Falls der Array nicht genügend Platz für alle Einträge in
der Queue von PRINT hat, werden nur die ersten Einträge
übernommen. (erkennbar daran, daß nach dem Routinen-Ende
der Wert in CX größer als die max. Anzahl Elemente im
Array ist)
Die nicht belegten Elemente des Arrays werden in jedem
Fall gelöscht.
Durch Aufruf der Routine mit CX = 0 kann die akt. Anzahl
von Einträgen in der Queue von PRINT ermittelt werden.
(in diesem Fall ist der Inhalt von ES und DI bedeutungslos)